<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS选择器</title>
    <style>
        /* 1.标签名选择器:全选此类标签 */
        h4 {
            color: red;
        }
        /* 2.id选择器:选中指定id值的唯一一个元素 */
        #d1 {
            width: 100px;
            height: 100px;
            background-color: cyan;
        }
        /* 3.类选择器:选中使用此类名的所有元素 */
        .error {
            background-color: red;
        }
        .success {
            background-color: green;
        }
        .msg {
            color: white;
        }
        /* 4.并列选择器:紧挨在一起的写法,必须同时满足两个选择器的条件,才可生效,是"与"的关系 */
        /* 5. :hover伪类选择器的一种,用来选中元素的悬停状态*/
        #d1:hover {
            background-color: violet;
        }

        /* 6.伪类选择器: :link未被访问过 :visited已被访问过 :hover悬停 :active激活
        只有:hover悬停不是超链接独有的伪类 */
        a:link {
            color: darkcyan;
        }
        a:visited {
            color: darkseagreen;
        }
        a:hover {
            color: darkorange;
        }
        a:active {
            color: crimson;
        }
        /* 7.群组选择器:多个选择器之间用逗号隔开,表示只要有一个满足条件就生效,是"或"的关系 */
        #d1,p,.error {
            border: 2px solid lightskyblue;/* 边框:粗细 单实线 颜色*/
        }
        /* 8.通配符选择器:选择所有元素 */
        * {
            font-style: italic;/* 文字样式:切斜*/
        }
        /* 9.属性选择器:选择指定属性值的元素 */
        input[type="text"]{
            background-color: yellowgreen;
        }
        /* 10.后代选择器(空格):选择包含在祖先选择器之内的所有后代(儿子，孙子，重孙子...)*/
        #d2 span{
            background-color: lightblue;
        }
        /* 11.直接子代选择器(>) :选择祖先选择器之内的所有直接子元素，不会继续向下选择，可以多层递进写 */
        #d2>div>p>span{
            background-color: khaki;
            color: darkturquoise;
        }
    </style>
</head>
<body>
    <div id="d1">我是div</div>
    <div>我是div</div>
    <p>我是段落</p>
    <h4>我是标题</h4>
    <h4>我是标题2</h4>
    <hr>
    <span class="error msg">用户名不能为空!</span>
    <span class="error msg">密码不能为空!</span>
    <span class="success msg">手机号格式正确!</span>
    <span class="success msg">邮箱格式正确!</span>
    <hr>
    <a href="http://www.baidu.com">百度</a>
    <a href="https://www.douyin.com">抖音</a>
    <a href="http://www.bilibili.com">bilibili</a>
    <a href="abc">abc</a>
    <hr>
    <input type="text">
    <input type="password">
    <hr>
    <div id="d2">
        <span>111</span>
        <div>
            <span>222</span>
            <p>套娃</p>
            <p>大娃<span>二娃</span>大娃</p>
        </div>
        <span>333</span>
    </div>
</body>
</html>